<?php
header("Content-type: application/json");
defined('BASEPATH') OR exit('No direct script access allowed');

class BaseController extends CI_Controller {
	// 	缓存uid
	protected $uid;

	/**
	 * 构造函数，子类如Item控制器会自动调用它
	 */
	function __construct() {
		parent::__construct();
		$this->auth();
	}

	/**
	 * 认证，拿到accessToken，表明用户是已授权微信登录的用户，该accessToken缓存在小程序侧
	 */
	private function auth(){
		$accessToken = $this->input->get('accessToken');
		// 		查询数据库，是否有此用户
		$query = $this->db->query("select * from user where accessToken = '$accessToken'");
		if ($query->num_rows() > 0) {
			$this->uid = $query->first_row()->uid;
			return true;
		}
		$this->json_output(array(), '认证失败', 401);
		// 		如果没有查询到，直接结束程序，不必走正常控制器方法如item/add的json输出
		exit;
	}

	/**
	 * 输出json格式
	 * @param array $data
	 * @param string $msg
	 * @param number $code
	 */
	protected function json_output($data = array(), $msg = '加载成功', $code = 200){
		echo json_encode(array('code' => $code, 'msg' => $msg,'data' => $data));
	}
}